package com.thiswhyme.republish.rabbitmq.core;

import org.springframework.messaging.Message;

import java.io.IOException;

/**
 * @description: 可重试的消息监听接口声明
 * @author: thiswhyme
 * @date: 2021/7/27
 */
public interface IRetriableReceiver {

    /**
     * 将听消息（目前仅支持消息内容类型为String）
     * @param message
     * @throws IOException
     */
    void onMessage(Message<String> message);

    /**
     * 重试n次后仍然失败的自定义业务处理
     * @param bizParams
     */
    void doIfRetryFail(Object bizParams);
}
